use std::collections::HashMap;

fn main(){
    // HashMap
    // 1. 所有的键值需要是同一数据类型
    // 2. 不允许有重复的建

    //create 
    // 创建空的HashMap
    let mut map:HashMap<&str,i32>=HashMap::new();
    // 制定容量
    let mut map2:HashMap<&str,i32>=HashMap::with_capacity(10);
    // 直接插入
    map.insert("hello",1);
    map.insert("world",2);
    map.insert("rust",3);
    map.insert("hello",4);
    // 遍历
    for (key,value) in &map{
        println!("{}:{}",key,value);
    }
    println!("--------------------------------------");
    map2.insert("hello",1);
    map2.insert("world",2);
    // entry 和 or_insert
    // 只有键不存在时才插入
    map2.entry("hello").or_insert(10);
    map2.entry("world").or_insert(10);
    map2.entry("rust").or_insert(10);
    // 遍历
    for (key,value) in &map2{
        println!("{}:{}",key,value);
    }
}